package com.haixiaoke.saas.contract.domain;

import com.haixiaoke.saas.common.annotation.Excel;
import com.haixiaoke.saas.common.core.domain.BaseEntity;
import lombok.Data;

import javax.validation.constraints.NotNull;

/**
 * 代理服务信息对象 biz_proxy_service
 *
 * @author xiaolong
 * @date 2024-06-06
 */
@Data
public class ProxyService extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 代理服务信息id
     */
    private Long proxyServiceId;

    /**
     * 业主信息id
     */
    @Excel(name = "业主信息id")
    @NotNull(message = "业主信息id不能为空")
    private Long proprietorId;

    /**
     * C端用户id
     */
    @Excel(name = "C端用户id")
    @NotNull(message = "C端用户id不能为空")
    private Long conUserId;

    /**
     * 银行账户
     */
    @Excel(name = "银行账户")
    @NotNull(message = "银行账户不能为空")
    private String bankAccount;

    /**
     * 开户银行
     */
    @Excel(name = "开户银行")
    @NotNull(message = "开户银行不能为空")
    private String bankName;

    /**
     * 翼码分账商户号
     */
    private Long ymMerchantId;

    /**
     * 开户银行code
     */
    @Excel(name = "开户银行code")
    private String bankCode;

    /**
     * 银行支行code
     */
    @Excel(name = "银行支行code")
    private String bankBranchCode;

    /**
     * 银行支行
     */
    @Excel(name = "银行支行")
    @NotNull(message = "银行支行不能为空")
    private String bankBranch;

    /**
     * 银行卡账户:1.对公账户;2.对私法人
     */
    @Excel(name = "银行卡账户:1.对公账户;2.对私法人")
    @NotNull(message = "银行卡账号类型不能为空")
    private String bankAccountType;

    /**
     * 开户行所在地
     */
    @Excel(name = "开户行所在地")
    @NotNull(message = "开户行所在地不能为空")
    private String bankLocation;

    /**
     * 分账商户状态:1.待开户;;2.已开户但未绑定银行卡;3.已开户且绑定银行卡
     */
    @Excel(name = "分账商户状态:1.待开户;;2.已开户但未绑定银行卡;3.已开户且绑定银行卡")
    private String splitMerchantStatus;

    /**
     * 电子签认证状态:1.待认证;2.已认证
     */
    @Excel(name = "电子签认证状态:1.待认证;2.已认证")
    private String electronicVisaStatus;

    /**
     * 结算方式:1.自动结算
     */
    @Excel(name = "结算方式:1.自动结算")
    private String settlementMethod;

    /**
     * 银行卡正面照片
     */
    @Excel(name = "银行卡正面照片")
    @NotNull(message = "银行卡正面照片不能为空")
    private String bankCardFrontPhoto;

    /**
     * 银行卡背面照片
     */
    @Excel(name = "银行卡背面照片")
    @NotNull(message = "银行卡背面照片不能为空")
    private String bankCardBackPhoto;

    /**
     * 逻辑删除标志(0代表存在
     */
    private String delFlag;

}
